#!/bin/bash

# StartD.sh:
# Se verifica si hay otro demonio DetectarT.sh corriendo actualmente
# En caso negativo se inicia el demonio Detectar.sh
# En caso positivo se informa el process id del demonio

daemonName="DetectarT.sh"
log="./LoguearT.sh DetectarT"

# --------------------- INICIO DECLARACION FUNCIONES -------------------- #

# Loguea y muestra por pantalla
# Parámetros:
#	1-Mensaje
function echoLog() {
	$log I "$1";
	echo "$1";
}

# --------------------- /DECLARACION FUNCIONES -------------------- #

daemonRunningCheckIn=`ps -e | grep -c $daemonName`
if [ $daemonRunningCheckIn -eq 0 ]
then
	echoLog "6.1"
	echoLog "Proceso de Inicialización demonio $daemonName ha Comenzado."
	
	./$daemonName "StartD" &

	intento=0;
	maxIntentos=5;
	while [ $daemonRunningCheckIn == 0 ] && [ $intento \< $maxIntentos ]
	do
		daemonRunningCheckIn=`ps -e | grep -c $daemonName`
		sleep 1
		(( intento++ ));
	done

	if [ $daemonRunningCheckIn != 0 ]
	then
		processId=`ps -e | awk '$4=="DetectarT.sh" {print $1}' FS=" "`

		echoLog "Demonio $daemonName corriendo bajo el proceso numero: $processId"
		echoLog "Proceso de Inicialización demonio $daemonName ha Concluido."
	else
		echo "Proceso de Inicialización demonio $daemonName ha fallado."
		$log E 11
		exit 11
	fi
else
	processId=`ps -e | awk '$4=="DetectarT.sh" {print $1}' FS=" "`
	echo "El demonio $daemonName ya se encuentra corriendo bajo el proceso número: $processId"
	$log E 12
	exit 12
fi
exit 0
